Software development often involves a so-called localization phase in which a software product is adapted to particular geographic target markets and their respective languages and cultures. For example, text elements in user interfaces, such as labels of menus, buttons, or other graphical control elements, the text in dialog boxes, or help files provided as a part of the software may be translated from a human language in which they were originally provided (herein also the “source language”) into one or more other human languages (herein also “target languages”). Similarly, text in web forms (e.g., on a web site providing an electronic marketplace), electronic advertisements, and textual entries in a database maintained by an internationally operating company are often to be translated from a source language into one or more target languages.
The translation of electronic text, e.g., as occurring in the above examples, can be performed by a human, automatically by a translation program, or using a combination of auto-translation and human feedback. In one common translation process, for instance, a computer generates an initial translation, and a human translator thereafter reviews the computer translation and makes corrections, resolves ambiguities, etc. A human may, for example, use context and domain-specific knowledge to disambiguate a word in the source language that can have different meanings; an example of such a homonym is the English word “bank,” which can refer to a financial institution, the rising ground bordering a body of water, or an arrangement of objects in a line or in tiers, and generally has different translations in the target language depending on the intended meaning.